package com.yunlong.softpark.service;

import com.yunlong.softpark.dto.*;
import com.yunlong.softpark.form.CreateColumnForm;
import com.yunlong.softpark.form.UpdateColumnForm;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @Author: Cui
 * @Date: 2020/7/27
 * @Description:
 */
@Component("columnService")
public interface ColumnService {

    String createColumn(CreateColumnForm createColumnForm,String userId);
    /**
     * 返回排行榜下载次数的前十位
     * @return
     */
    List<RankDto> getRankData();

    /**
     * 返回栏目的简单介绍
     * @return
     */
    ColumnSimDto getSimpleIntroduce(String columnId);

    /**
     * 返回栏目的详细介绍
     * @param columnId
     * @return
     */
    ColumnDetailDto getDetailIntroduce(String columnId);

    /**
     * 将栏目的详细信息转换成list
     * @param columnDetailDto
     * @return
     */
    List<ColumnDetailListDto> changeColumnDetailDtoToList(ColumnDetailDto columnDetailDto);

    /**
     * 《个人页面》
     * 根据column回显出在个人页面的栏目相关信息
     * @return columnPersonalDataDto
     */
    ColumnPersonalDataDto getPersonalDataDto(String columnId);

    /**
     * 获取板块--->分类的二级菜单
     */
    List<PlateDto> getPlatesTwiceMenu();

    /**
     * 《个人页面》
     * 根据前端传递的token获取再个人页面栏显示出的一系列栏目
     * @param token
     * @return
     */
    List<ColumnPersonalShowDto> getPersonalShow(String token);


    MessageSuccessDto updateColumn(UpdateColumnForm updateColumnForm, String userId);
}
